package cn.tedu.store.admin.webapi.mapper;


import cn.tedu.store.commons.pojo.admin.entity.Role;
import cn.tedu.store.commons.pojo.admin.vo.RoleListItemVO;
import cn.tedu.store.commons.pojo.admin.vo.RoleStandardVO;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface RoleMapper {

    /**
     * 添加角色
     *
     * @param role 角色信息
     * @return 受影响行数
     */
    int insert(Role role);

    /**
     * 删除角色
     *
     * @param id 角色id
     * @return 受影响的行数
     */
    int deleteById(Long id);

    /**
     * 修改角色信息
     *
     * @param role 角色信息
     * @return 受影响的行数
     */
    int updateById(Role role);

    /**
     * 根据角色名称查询角色详情
     *
     * @param name 角色名称
     * @return 受影响的行数
     */
    int countByName(String name);

    /**
     * 根据角色id查询角色详情
     *
     * @param id 角色Id
     * @return 受影响的行数
     */
    int countById(Long id);

    /**
     * 根据角色id查询角色详情
     *
     * @param id 角色id
     * @return 受影响的行数
     */
    RoleStandardVO getStandardById(Long id);

    /**
     * 查询所有角色信息
     *
     * @return 所有角色详情
     */
    List<RoleListItemVO> list();

}
